from _typeshed import Incomplete
from typing import Callable, ClassVar, overload

Aliased: RenderingMode
Anisotropic: BitmapInterpMode
ClearType: TextAntialiasMode
Clip: DrawTextOption
Cubic: BitmapInterpMode
Default: RenderingMode
GDIClassic: RenderingMode
GDINatural: RenderingMode
Grayscale: TextAntialiasMode
HighQualityCubic: BitmapInterpMode
Linear: BitmapInterpMode
MultiSampleLinear: BitmapInterpMode
Natural: RenderingMode
NaturalSymmetric: RenderingMode
NearestNeighbor: BitmapInterpMode
Outline: RenderingMode
vk_accept: int
vk_add: int
vk_apps: int
vk_attn: int
vk_back: int
vk_cancel: int
vk_capital: int
vk_clear: int
vk_control: int
vk_convert: int
vk_crsel: int
vk_decimal: int
vk_delete: int
vk_divide: int
vk_down: int
vk_end: int
vk_ereof: int
vk_escape: int
vk_execute: int
vk_exsel: int
vk_f1: int
vk_f10: int
vk_f11: int
vk_f12: int
vk_f13: int
vk_f14: int
vk_f15: int
vk_f16: int
vk_f17: int
vk_f18: int
vk_f19: int
vk_f2: int
vk_f20: int
vk_f21: int
vk_f22: int
vk_f23: int
vk_f24: int
vk_f3: int
vk_f4: int
vk_f5: int
vk_f6: int
vk_f7: int
vk_f8: int
vk_f9: int
vk_final: int
vk_hangeul: int
vk_hangul: int
vk_hanja: int
vk_help: int
vk_home: int
vk_insert: int
vk_junja: int
vk_kana: int
vk_kanji: int
vk_lbutton: int
vk_lcontrol: int
vk_left: int
vk_lmenu: int
vk_lshift: int
vk_lwin: int
vk_mbutton: int
vk_menu: int
vk_modechange: int
vk_multiply: int
vk_next: int
vk_noname: int
vk_nonconvert: int
vk_numlock: int
vk_numpad0: int
vk_numpad1: int
vk_numpad2: int
vk_numpad3: int
vk_numpad4: int
vk_numpad5: int
vk_numpad6: int
vk_numpad7: int
vk_numpad8: int
vk_numpad9: int
vk_oem_clear: int
vk_pa1: int
vk_pause: int
vk_play: int
vk_print: int
vk_prior: int
vk_processkey: int
vk_rbutton: int
vk_rcontrol: int
vk_return: int
vk_right: int
vk_rmenu: int
vk_rshift: int
vk_rwin: int
vk_scroll: int
vk_select: int
vk_separator: int
vk_shift: int
vk_snapshot: int
vk_space: int
vk_subtract: int
vk_tab: int
vk_up: int
vk_zoom: int

class Application:
    app: ClassVar[Application] = ...  # read-only
    animState: bool
    bitmapInterpMode: BitmapInterpMode
    fullscreen: bool
    height: int
    langLocale: str
    maximized: bool
    minHeight: int
    minSize: Size
    minWidth: int
    minimized: bool
    position: Point
    renderingMode: RenderingMode
    resizable: bool
    size: Size
    textAntialiasMode: TextAntialiasMode
    themeColor: Color
    themeMode: str
    useSystemTheme: bool
    visible: bool
    width: int
    x: int
    y: int
    def __init__(self, name: str = ..., dpi: float | None = ...) -> None: ...
    def capture(self, *args, **kwargs): ...
    def exit(self) -> None: ...
    def run(self) -> int: ...
    @property
    def animCount(self) -> int: ...
    @property
    def cursor(self): ...
    @property
    def dpi(self) -> int: ...
    @property
    def fps(self) -> int: ...

class BitmapInterpMode:
    __members__: ClassVar[dict] = ...  # read-only
    Anisotropic: ClassVar[BitmapInterpMode] = ...
    Cubic: ClassVar[BitmapInterpMode] = ...
    HighQualityCubic: ClassVar[BitmapInterpMode] = ...
    Linear: ClassVar[BitmapInterpMode] = ...
    MultiSampleLinear: ClassVar[BitmapInterpMode] = ...
    NearestNeighbor: ClassVar[BitmapInterpMode] = ...
    __entries: ClassVar[dict] = ...
    def __init__(self, value: int) -> None: ...
    def __eq__(self, other: object) -> bool: ...
    def __hash__(self) -> int: ...
    def __index__(self) -> int: ...
    def __int__(self) -> int: ...
    def __ne__(self, other: object) -> bool: ...
    @property
    def name(self) -> str: ...
    @property
    def value(self) -> int: ...

class Button(ClickablePanel):
    text: str
    def __init__(self, text: str = ...) -> None: ...
    @property
    def content(self): ...

class CheckBox(ClickablePanel):
    class State:
        __members__: ClassVar[dict] = ...  # read-only
        Checked: ClassVar[CheckBox.State] = ...
        Intermediate: ClassVar[CheckBox.State] = ...
        Unchecked: ClassVar[CheckBox.State] = ...
        __entries: ClassVar[dict] = ...
        def __init__(self, value: int) -> None: ...
        def __eq__(self, other: object) -> bool: ...
        def __hash__(self) -> int: ...
        def __index__(self) -> int: ...
        def __int__(self) -> int: ...
        def __ne__(self, other: object) -> bool: ...
        @property
        def name(self) -> str: ...
        @property
        def value(self) -> int: ...
    Checked: ClassVar[CheckBox.State] = ...
    Intermediate: ClassVar[CheckBox.State] = ...
    Unchecked: ClassVar[CheckBox.State] = ...
    f_onStateChange: Callable[[CheckBox, CheckBox.State], None]
    state: CheckBox.State
    tripleState: bool
    def __init__(self, tripleState: bool = ...) -> None: ...
    def onStateChange(self, state: CheckBox.State) -> None: ...

class ClickablePanel(Panel):
    doubleClick: bool
    f_onMouseButtonPress: Callable[[ClickablePanel, MouseButtonClickEvent], None]
    f_onMouseButtonRelease: Callable[[ClickablePanel, MouseButtonClickEvent], None]
    def __init__(self) -> None: ...
    def onMouseButtonPress(self, event: MouseButtonClickEvent) -> None: ...
    def onMouseButtonRelease(self, event: MouseButtonClickEvent) -> None: ...

class Color:
    b: int
    g: int
    r: int
    def __init__(self, r: int = ..., g: int = ..., b: int = ...) -> None: ...

class ComboBox(FlatButton):
    f_onSelectedChange: Callable[[ComboBox, str], None]
    def __init__(self) -> None: ...
    def onSelectedChange(self, text: str) -> None: ...
    def setCurrSelected(self, index: int) -> None: ...
    @property
    def currSelected(self): ...
    @property
    def currSelectedText(self) -> str | None: ...
    @property
    def dropDownMenu(self): ...

class ComboBoxItem(MenuItem):
    def __init__(self, text: str = ...) -> None: ...

class ConstraintLayout(ResizablePanel):
    class GeoInfo:
        class HorzDistance:
            ToLeft: int | None
            ToRight: int | None
            def __init__(self) -> None: ...

        class VertDistance:
            ToBottom: int | None
            ToTop: int | None
            def __init__(self) -> None: ...
        Bottom: ConstraintLayout.GeoInfo.VertDistance
        Left: ConstraintLayout.GeoInfo.HorzDistance
        Right: ConstraintLayout.GeoInfo.HorzDistance
        Top: ConstraintLayout.GeoInfo.VertDistance
        keepHeight: bool
        keepWidth: bool
        def __init__(self) -> None: ...
    opacity: float
    outlineOpacity: float
    outlineWidth: int
    def __init__(self) -> None: ...
    def addElement(self, arg0: Panel, arg1) -> None: ...
    def clearAllElements(self) -> None: ...
    def removeElement(self, arg0: Panel) -> None: ...
    def updateElement(self, arg0: Panel, arg1) -> None: ...

class Cursor(Panel):
    class DynamicIconIndex:
        __members__: ClassVar[dict] = ...  # read-only
        Busy: ClassVar[Cursor.DynamicIconIndex] = ...
        Working: ClassVar[Cursor.DynamicIconIndex] = ...
        __entries: ClassVar[dict] = ...
        def __init__(self, value: int) -> None: ...
        def __eq__(self, other: object) -> bool: ...
        def __hash__(self) -> int: ...
        def __index__(self) -> int: ...
        def __int__(self) -> int: ...
        def __ne__(self, other: object) -> bool: ...
        @property
        def name(self) -> str: ...
        @property
        def value(self) -> int: ...

    class StaticIconIndex:
        __members__: ClassVar[dict] = ...  # read-only
        Alternate: ClassVar[Cursor.StaticIconIndex] = ...
        Arrow: ClassVar[Cursor.StaticIconIndex] = ...
        BackDiag: ClassVar[Cursor.StaticIconIndex] = ...
        Beam: ClassVar[Cursor.StaticIconIndex] = ...
        Hand: ClassVar[Cursor.StaticIconIndex] = ...
        Help: ClassVar[Cursor.StaticIconIndex] = ...
        HorzSize: ClassVar[Cursor.StaticIconIndex] = ...
        MainDiag: ClassVar[Cursor.StaticIconIndex] = ...
        Move: ClassVar[Cursor.StaticIconIndex] = ...
        Pen: ClassVar[Cursor.StaticIconIndex] = ...
        Person: ClassVar[Cursor.StaticIconIndex] = ...
        Pin: ClassVar[Cursor.StaticIconIndex] = ...
        Select: ClassVar[Cursor.StaticIconIndex] = ...
        Stop: ClassVar[Cursor.StaticIconIndex] = ...
        VertSize: ClassVar[Cursor.StaticIconIndex] = ...
        __entries: ClassVar[dict] = ...
        def __init__(self, value: int) -> None: ...
        def __eq__(self, other: object) -> bool: ...
        def __hash__(self) -> int: ...
        def __index__(self) -> int: ...
        def __int__(self) -> int: ...
        def __ne__(self, other: object) -> bool: ...
        @property
        def name(self) -> str: ...
        @property
        def value(self) -> int: ...
    Alternate: ClassVar[Cursor.StaticIconIndex] = ...
    Arrow: ClassVar[Cursor.StaticIconIndex] = ...
    BackDiag: ClassVar[Cursor.StaticIconIndex] = ...
    Beam: ClassVar[Cursor.StaticIconIndex] = ...
    Busy: ClassVar[Cursor.DynamicIconIndex] = ...
    Hand: ClassVar[Cursor.StaticIconIndex] = ...
    Help: ClassVar[Cursor.StaticIconIndex] = ...
    HorzSize: ClassVar[Cursor.StaticIconIndex] = ...
    MainDiag: ClassVar[Cursor.StaticIconIndex] = ...
    Move: ClassVar[Cursor.StaticIconIndex] = ...
    Pen: ClassVar[Cursor.StaticIconIndex] = ...
    Person: ClassVar[Cursor.StaticIconIndex] = ...
    Pin: ClassVar[Cursor.StaticIconIndex] = ...
    Select: ClassVar[Cursor.StaticIconIndex] = ...
    Stop: ClassVar[Cursor.StaticIconIndex] = ...
    VertSize: ClassVar[Cursor.StaticIconIndex] = ...
    Working: ClassVar[Cursor.DynamicIconIndex] = ...
    useSystemIcons: bool
    def __init__(self) -> None: ...
    @overload
    def setIcon(self, index: Cursor.StaticIconIndex) -> None: ...
    @overload
    def setIcon(self, index: Cursor.DynamicIconIndex) -> None: ...

class DraggablePanel(Panel):
    draggable: bool
    f_onEndDragging: Callable[[DraggablePanel], None]
    f_onStartDragging: Callable[[DraggablePanel], None]
    def __init__(self) -> None: ...
    def onEndDragging(self) -> None: ...
    def onStartDragging(self) -> None: ...

class DrawTextOption:
    __members__: ClassVar[dict] = ...  # read-only
    Clip: ClassVar[DrawTextOption] = ...
    __entries: ClassVar[dict] = ...
    def __init__(self, value: int) -> None: ...
    def __eq__(self, other: object) -> bool: ...
    def __hash__(self) -> int: ...
    def __index__(self) -> int: ...
    def __int__(self) -> int: ...
    def __ne__(self, other: object) -> bool: ...
    @property
    def name(self) -> str: ...
    @property
    def value(self) -> int: ...

class ElevatedButton(FilledButton):
    def __init__(self, text: str = ...) -> None: ...

class Event:
    alt: ClassVar[bool] = ...  # read-only
    capslock: ClassVar[bool] = ...  # read-only
    ctrl: ClassVar[bool] = ...  # read-only
    lalt: ClassVar[bool] = ...  # read-only
    lbutton: ClassVar[bool] = ...  # read-only
    lctrl: ClassVar[bool] = ...  # read-only
    lshift: ClassVar[bool] = ...  # read-only
    mbutton: ClassVar[bool] = ...  # read-only
    ralt: ClassVar[bool] = ...  # read-only
    rbutton: ClassVar[bool] = ...  # read-only
    rctrl: ClassVar[bool] = ...  # read-only
    rshift: ClassVar[bool] = ...  # read-only
    shift: ClassVar[bool] = ...  # read-only
    def __init__(self) -> None: ...
    @staticmethod
    def isKeyDown(vkey: int) -> bool: ...
    @staticmethod
    def isKeyToggled(vkey: int) -> bool: ...

class FilledButton(FlatButton):
    def __init__(self, text: str = ...) -> None: ...

class FlatButton(Button):
    def __init__(self, text: str = ...) -> None: ...

class Font:
    class Stretch:
        __members__: ClassVar[dict] = ...  # read-only
        Condensed: ClassVar[Font.Stretch] = ...
        Expanded: ClassVar[Font.Stretch] = ...
        ExtraCondensed: ClassVar[Font.Stretch] = ...
        ExtraExpanded: ClassVar[Font.Stretch] = ...
        Medium: ClassVar[Font.Stretch] = ...
        SemiCondensed: ClassVar[Font.Stretch] = ...
        SemiExpanded: ClassVar[Font.Stretch] = ...
        __entries: ClassVar[dict] = ...
        def __init__(self, value: int) -> None: ...
        def __eq__(self, other: object) -> bool: ...
        def __hash__(self) -> int: ...
        def __index__(self) -> int: ...
        def __int__(self) -> int: ...
        def __ne__(self, other: object) -> bool: ...
        @property
        def name(self) -> str: ...
        @property
        def value(self) -> int: ...

    class Style:
        __members__: ClassVar[dict] = ...  # read-only
        Italic: ClassVar[Font.Style] = ...
        Normal: ClassVar[Font.Style] = ...
        Oblique: ClassVar[Font.Style] = ...
        __entries: ClassVar[dict] = ...
        def __init__(self, value: int) -> None: ...
        def __eq__(self, other: object) -> bool: ...
        def __hash__(self) -> int: ...
        def __index__(self) -> int: ...
        def __int__(self) -> int: ...
        def __ne__(self, other: object) -> bool: ...
        @property
        def name(self) -> str: ...
        @property
        def value(self) -> int: ...

    class Weight:
        __members__: ClassVar[dict] = ...  # read-only
        Black: ClassVar[Font.Weight] = ...
        Bold: ClassVar[Font.Weight] = ...
        ExtraBlack: ClassVar[Font.Weight] = ...
        ExtraBold: ClassVar[Font.Weight] = ...
        ExtraLight: ClassVar[Font.Weight] = ...
        Light: ClassVar[Font.Weight] = ...
        Regular: ClassVar[Font.Weight] = ...
        SemiBold: ClassVar[Font.Weight] = ...
        SemiLight: ClassVar[Font.Weight] = ...
        Thin: ClassVar[Font.Weight] = ...
        __entries: ClassVar[dict] = ...
        def __init__(self, value: int) -> None: ...
        def __eq__(self, other: object) -> bool: ...
        def __hash__(self) -> int: ...
        def __index__(self) -> int: ...
        def __int__(self) -> int: ...
        def __ne__(self, other: object) -> bool: ...
        @property
        def name(self) -> str: ...
        @property
        def value(self) -> int: ...
    Black: ClassVar[Font.Weight] = ...
    Bold: ClassVar[Font.Weight] = ...
    Condensed: ClassVar[Font.Stretch] = ...
    Expanded: ClassVar[Font.Stretch] = ...
    ExtraBlack: ClassVar[Font.Weight] = ...
    ExtraBold: ClassVar[Font.Weight] = ...
    ExtraCondensed: ClassVar[Font.Stretch] = ...
    ExtraExpanded: ClassVar[Font.Stretch] = ...
    ExtraLight: ClassVar[Font.Weight] = ...
    Italic: ClassVar[Font.Style] = ...
    Light: ClassVar[Font.Weight] = ...
    Medium: ClassVar[Font.Stretch] = ...
    Normal: ClassVar[Font.Style] = ...
    Oblique: ClassVar[Font.Style] = ...
    Regular: ClassVar[Font.Weight] = ...
    SemiBold: ClassVar[Font.Weight] = ...
    SemiCondensed: ClassVar[Font.Stretch] = ...
    SemiExpanded: ClassVar[Font.Stretch] = ...
    SemiLight: ClassVar[Font.Weight] = ...
    Thin: ClassVar[Font.Weight] = ...
    def __init__(self, name: str) -> None: ...
    @staticmethod
    def load(name: str, familyName: str, size: int, localeName: str, weight: Font.Weight = ..., style: Font.Style = ..., stretch: Font.Stretch = ...) -> Font: ...
    @staticmethod
    def querySystemFontNames() -> set[str]: ...
    @property
    def familyName(self) -> str: ...
    @property
    def localeName(self) -> str: ...
    @property
    def size(self) -> int: ...
    @property
    def stretch(self) -> Font.Stretch: ...
    @property
    def style(self) -> Font.Style: ...
    @property
    def weight(self) -> Font.Weight: ...

class FrameAnimPanel(Panel):
    frameInterpMode: BitmapInterpMode
    frameOpacity: float
    frameTimeSpan: float
    frames: list[Image]
    def __init__(self) -> None: ...
    def resetFrameState(self) -> None: ...

class GridLayout(ResizablePanel):
    class GeoInfo:
        fixedSize: bool
        spacing: Rect
        x: Range
        y: Range
        def __init__(self) -> None: ...
    horzCellCount: int
    horzMargin: int
    horzSpacing: int
    opacity: float
    outlineOpacity: float
    outlineWidth: int
    vertCellCount: int
    vertMargin: int
    vertSpacing: int
    def __init__(self) -> None: ...
    def addElement(self, arg0: Panel, arg1) -> None: ...
    def clearAllElements(self) -> None: ...
    def removeElement(self, arg0: Panel) -> None: ...
    def updateElement(self, arg0: Panel, arg1) -> None: ...

class HorzSlider(Panel):
    class StepMode:
        __members__: ClassVar[dict] = ...  # read-only
        Continuous: ClassVar[HorzSlider.StepMode] = ...
        Discrete: ClassVar[HorzSlider.StepMode] = ...
        __entries: ClassVar[dict] = ...
        def __init__(self, value: int) -> None: ...
        def __eq__(self, other: object) -> bool: ...
        def __hash__(self) -> int: ...
        def __index__(self) -> int: ...
        def __int__(self) -> int: ...
        def __ne__(self, other: object) -> bool: ...
        @property
        def name(self) -> str: ...
        @property
        def value(self) -> int: ...
    Continuous: ClassVar[HorzSlider.StepMode] = ...
    Discrete: ClassVar[HorzSlider.StepMode] = ...
    f_onEndSliding: Callable[[HorzSlider, float], None]
    f_onStartSliding: Callable[[HorzSlider, float], None]
    f_onValueChange: Callable[[HorzSlider, float], None]
    maxValue: float
    minValue: float
    stepInterval: float
    stepMode: HorzSlider.StepMode
    value: float
    vlabelEnabled: bool
    vlabelOffset: int
    vlabelPrecision: int
    vlabelRectSize: Size
    vlabelResident: bool
    vlabelRoundRaidus: int
    vlabelTipSize: Size
    def __init__(self) -> None: ...
    def onEndSliding(self, value: float) -> None: ...
    def onStartSliding(self, value: float) -> None: ...
    def onValueChange(self, value: float) -> None: ...
    @property
    def valueLabel(self): ...

class IconLabel(Panel):
    icon: Image
    iconSize: Size
    def __init__(self, text: str = ...) -> None: ...
    def updateLayout(self) -> None: ...
    @property
    def label(self): ...

class Image:
    class Format:
        __members__: ClassVar[dict] = ...  # read-only
        Adng: ClassVar[Image.Format] = ...
        Bmp: ClassVar[Image.Format] = ...
        Gif: ClassVar[Image.Format] = ...
        Heif: ClassVar[Image.Format] = ...
        Ico: ClassVar[Image.Format] = ...
        Jpeg: ClassVar[Image.Format] = ...
        Png: ClassVar[Image.Format] = ...
        Tiff: ClassVar[Image.Format] = ...
        Webp: ClassVar[Image.Format] = ...
        Wmp: ClassVar[Image.Format] = ...
        __entries: ClassVar[dict] = ...
        def __init__(self, value: int) -> None: ...
        def __eq__(self, other: object) -> bool: ...
        def __hash__(self) -> int: ...
        def __index__(self) -> int: ...
        def __int__(self) -> int: ...
        def __ne__(self, other: object) -> bool: ...
        @property
        def name(self) -> str: ...
        @property
        def value(self) -> int: ...
    Adng: ClassVar[Image.Format] = ...
    Bmp: ClassVar[Image.Format] = ...
    Gif: ClassVar[Image.Format] = ...
    Heif: ClassVar[Image.Format] = ...
    Ico: ClassVar[Image.Format] = ...
    Jpeg: ClassVar[Image.Format] = ...
    Png: ClassVar[Image.Format] = ...
    Tiff: ClassVar[Image.Format] = ...
    Webp: ClassVar[Image.Format] = ...
    Wmp: ClassVar[Image.Format] = ...
    height: int
    size: Size
    width: int
    @overload
    def __init__(self, width: int, height: int, cpuRead: bool = ...) -> None: ...
    @overload
    def __init__(self, path: str, cpuRead: bool = ...) -> None: ...
    @overload
    def copy(self, dst: Rect, source: list[Pixel]) -> None: ...
    @overload
    def copy(self, dst: Point, source: Image, src: Rect) -> None: ...
    @overload
    def copyInFrame(self, dst: Rect, source: list[Pixel]) -> None: ...
    @overload
    def copyInFrame(self, dst: Point, source: Image, src: Rect) -> None: ...
    def data(self) -> list[Pixel]: ...
    def load(self, path: str, cpuRead: bool = ...) -> None: ...
    def save(self, path: str, format: Image.Format = ...) -> None: ...
    @property
    def dipHeight(self) -> int: ...
    @property
    def dipSize(self) -> Size: ...
    @property
    def dipWidth(self) -> int: ...

class KeyboardEvent(Event):
    def __init__(self) -> None: ...
    @property
    def pressed(self) -> bool: ...
    @property
    def released(self) -> bool: ...
    @property
    def vkey(self) -> int: ...

class Label(Panel):
    class HorzAlign:
        __members__: ClassVar[dict] = ...  # read-only
        HCenter: ClassVar[Label.HorzAlign] = ...
        Justified: ClassVar[Label.HorzAlign] = ...
        Left: ClassVar[Label.HorzAlign] = ...
        Right: ClassVar[Label.HorzAlign] = ...
        __entries: ClassVar[dict] = ...
        def __init__(self, value: int) -> None: ...
        def __eq__(self, other: object) -> bool: ...
        def __hash__(self) -> int: ...
        def __index__(self) -> int: ...
        def __int__(self) -> int: ...
        def __ne__(self, other: object) -> bool: ...
        @property
        def name(self) -> str: ...
        @property
        def value(self) -> int: ...

    class VertAlign:
        __members__: ClassVar[dict] = ...  # read-only
        Bottom: ClassVar[Label.VertAlign] = ...
        Top: ClassVar[Label.VertAlign] = ...
        VCenter: ClassVar[Label.VertAlign] = ...
        __entries: ClassVar[dict] = ...
        def __init__(self, value: int) -> None: ...
        def __eq__(self, other: object) -> bool: ...
        def __hash__(self) -> int: ...
        def __index__(self) -> int: ...
        def __int__(self) -> int: ...
        def __ne__(self, other: object) -> bool: ...
        @property
        def name(self) -> str: ...
        @property
        def value(self) -> int: ...

    class WordWrapping:
        __members__: ClassVar[dict] = ...  # read-only
        Character: ClassVar[Label.WordWrapping] = ...
        EmergencyBreak: ClassVar[Label.WordWrapping] = ...
        NoWrap: ClassVar[Label.WordWrapping] = ...
        WholeWord: ClassVar[Label.WordWrapping] = ...
        Wrap: ClassVar[Label.WordWrapping] = ...
        __entries: ClassVar[dict] = ...
        def __init__(self, value: int) -> None: ...
        def __eq__(self, other: object) -> bool: ...
        def __hash__(self) -> int: ...
        def __index__(self) -> int: ...
        def __int__(self) -> int: ...
        def __ne__(self, other: object) -> bool: ...
        @property
        def name(self) -> str: ...
        @property
        def value(self) -> int: ...
    Bottom: ClassVar[Label.VertAlign] = ...
    Character: ClassVar[Label.WordWrapping] = ...
    EmergencyBreak: ClassVar[Label.WordWrapping] = ...
    HCenter: ClassVar[Label.HorzAlign] = ...
    Justified: ClassVar[Label.HorzAlign] = ...
    Left: ClassVar[Label.HorzAlign] = ...
    NoWrap: ClassVar[Label.WordWrapping] = ...
    Right: ClassVar[Label.HorzAlign] = ...
    Top: ClassVar[Label.VertAlign] = ...
    VCenter: ClassVar[Label.VertAlign] = ...
    WholeWord: ClassVar[Label.WordWrapping] = ...
    Wrap: ClassVar[Label.WordWrapping] = ...
    bkgnColor: Color
    bkgnOpacity: float
    drawTextOption: DrawTextOption
    font: Font
    fontFamilyName: str
    fontLocaleName: str
    fontSize: int
    fontStretch: Font.Stretch
    fontStyle: Font.Style
    fontWeight: Font.Weight
    frgnColor: Color
    frgnOpacity: float
    horzAlign: Label.HorzAlign
    horzHardAlign: bool
    strikethrough: bool
    text: str
    underline: bool
    vertAlign: Label.VertAlign
    vertHardAlign: bool
    wordWrapping: Label.WordWrapping
    def __init__(self, text: str = ...) -> None: ...
    def getStrikethrough(self, offset: int) -> bool: ...
    def getUnderline(self, offset: int) -> bool: ...
    def setFontFamilyName(self, name: str, range: Range | None = ...) -> None: ...
    def setFontLocaleName(self, name: str, range: Range | None = ...) -> None: ...
    def setFontSize(self, value: int, range: Range | None = ...) -> None: ...
    def setFontStretch(self, value: Font.Stretch, range: Range | None = ...) -> None: ...
    def setFontStyle(self, value: Font.Style, range: Range | None = ...) -> None: ...
    def setFontWeight(self, value: Font.Weight, range: Range | None = ...) -> None: ...
    def setStrikethrough(self, value: bool, range: Range | None = ...) -> None: ...
    def setUnderline(self, value: bool, range: Range | None = ...) -> None: ...

class LabelArea(Label):
    caretOffset: int
    hiliteRange: Range
    def __init__(self, text: str = ...) -> None: ...
    def performCommandCtrlA(self) -> None: ...
    def performCommandCtrlC(self) -> None: ...

class ListView(ScrollView):
    class SelectMode:
        __members__: ClassVar[dict] = ...  # read-only
        Extended: ClassVar[ListView.SelectMode] = ...
        Multiple: ClassVar[ListView.SelectMode] = ...
        Single: ClassVar[ListView.SelectMode] = ...
        __entries: ClassVar[dict] = ...
        def __init__(self, value: int) -> None: ...
        def __eq__(self, other: object) -> bool: ...
        def __hash__(self) -> int: ...
        def __index__(self) -> int: ...
        def __int__(self) -> int: ...
        def __ne__(self, other: object) -> bool: ...
        @property
        def name(self) -> str: ...
        @property
        def value(self) -> int: ...
    Extended: ClassVar[ListView.SelectMode] = ...
    Multiple: ClassVar[ListView.SelectMode] = ...
    Single: ClassVar[ListView.SelectMode] = ...
    f_onSelectChange: Callable[[ListView, set[int]], None]
    selectMode: ListView.SelectMode
    def __init__(self) -> None: ...
    def appendItem(self, items) -> None: ...
    def clearAllItems(self) -> None: ...
    def getItem(self, *args, **kwargs): ...
    def insertItem(self, items, index: int = ...) -> None: ...
    def onSelectChange(self, selected: set[int]) -> None: ...
    def removeItem(self, index: int, count: int = ...) -> None: ...
    @property
    def itemCount(self) -> int: ...
    @property
    def selectedIndicies(self) -> set[int]: ...

class ListViewItem(ViewItem):
    def __init__(self, text: str = ...) -> None: ...

class MainWindow(Window):
    def __init__(self, title: str = ...) -> None: ...
    def showMaximized(self) -> None: ...
    def showMinimized(self) -> None: ...
    def showNormal(self) -> None: ...

class MenuItem(ViewItem):
    associatedMenu: PopupMenu
    instant: bool
    trigger: bool
    def __init__(self, labelText: str = ..., hotkeyText: str = ...) -> None: ...
    @property
    def hotkey(self) -> Label: ...

class MenuSeparator(MenuItem):
    def __init__(self) -> None: ...

class MouseButtonClickEvent(MouseEvent):
    def __init__(self) -> None: ...
    @property
    def left(self) -> bool: ...
    @property
    def middle(self) -> bool: ...
    @property
    def right(self) -> bool: ...

class MouseButtonEvent(MouseEvent):
    def __init__(self) -> None: ...
    @property
    def leftDblclk(self) -> bool: ...
    @property
    def leftDown(self) -> bool: ...
    @property
    def leftUp(self) -> bool: ...
    @property
    def middleDblclk(self) -> bool: ...
    @property
    def middleDown(self) -> bool: ...
    @property
    def middleUp(self) -> bool: ...
    @property
    def rightDblclk(self) -> bool: ...
    @property
    def rightDown(self) -> bool: ...
    @property
    def rightUp(self) -> bool: ...

class MouseEvent(Event):
    def __init__(self) -> None: ...
    @property
    def cursorPoint(self) -> Point: ...

class MouseMoveEvent(MouseEvent):
    def __init__(self) -> None: ...
    @property
    def lastCursorPoint(self) -> Point: ...

class MouseWheelEvent(MouseEvent):
    def __init__(self) -> None: ...
    @property
    def deltaCount(self) -> int: ...

class MoveEvent(Event):
    def __init__(self) -> None: ...
    @property
    def position(self) -> Point: ...

class OnOffSwitch(ClickablePanel):
    class State:
        __members__: ClassVar[dict] = ...  # read-only
        Off: ClassVar[OnOffSwitch.State] = ...
        On: ClassVar[OnOffSwitch.State] = ...
        __entries: ClassVar[dict] = ...
        def __init__(self, value: int) -> None: ...
        def __eq__(self, other: object) -> bool: ...
        def __hash__(self) -> int: ...
        def __index__(self) -> int: ...
        def __int__(self) -> int: ...
        def __ne__(self, other: object) -> bool: ...
        @property
        def name(self) -> str: ...
        @property
        def value(self) -> int: ...
    Off: ClassVar[OnOffSwitch.State] = ...
    On: ClassVar[OnOffSwitch.State] = ...
    f_onStateChange: Callable[[OnOffSwitch, OnOffSwitch.State], None]
    state: OnOffSwitch.State
    def __init__(self) -> None: ...
    def onStateChange(self, state: OnOffSwitch.State) -> None: ...

class OutlinedButton(FlatButton):
    def __init__(self, text: str = ...) -> None: ...

class Panel:
    animState: bool
    bitmapInterpMode: BitmapInterpMode
    bitmapOpacity: float
    color: Color
    enabled: bool
    f_onChangeLangLocale: Callable[[Panel, str], None]
    f_onChangeTheme: Callable[[Panel, str], None]
    f_onGetFocus: Callable[[Panel], None]
    f_onKeyboard: Callable[[Panel, KeyboardEvent], None]
    f_onLoseFocus: Callable[[Panel], None]
    f_onMouseButton: Callable[[Panel, MouseButtonEvent], None]
    f_onMouseEnter: Callable[[Panel, MouseMoveEvent], None]
    f_onMouseLeave: Callable[[Panel, MouseMoveEvent], None]
    f_onMouseMove: Callable[[Panel, MouseMoveEvent], None]
    f_onMouseWheel: Callable[[Panel, MouseWheelEvent], None]
    f_onMove: Callable[[Panel, MoveEvent], None]
    f_onSize: Callable[[Panel, SizeEvent], None]
    f_onUpdate: Callable[[Panel], None]
    height: int
    image: Image
    maxHeight: int
    maxSize: Size
    maxWidth: int
    minHeight: int
    minSize: Size
    minWidth: int
    opacity: float
    outlineColor: Color
    outlineOpacity: float
    outlineWidth: int
    parent: Panel
    position: Point
    roundRadius: int
    size: Size
    visible: bool
    width: int
    x: int
    y: int
    def __init__(self) -> None: ...
    def addChild(self, uiobj: Panel) -> None: ...
    def mostAbove(self, uiobj: Panel) -> None: ...
    def moveBelow(self, uiobj: Panel) -> None: ...
    def moveTopmost(self) -> None: ...
    def onChangeLangLocale(self, name: str) -> None: ...
    def onChangeTheme(self, name: str) -> None: ...
    def onGetFocus(self) -> None: ...
    def onKeyboard(self, event: KeyboardEvent) -> None: ...
    def onLoseFocus(self) -> None: ...
    def onMouseButton(self, event: MouseButtonEvent) -> None: ...
    def onMouseEnter(self, event: MouseMoveEvent) -> None: ...
    def onMouseLeave(self, event: MouseMoveEvent) -> None: ...
    def onMouseMove(self, event: MouseMoveEvent) -> None: ...
    def onMouseWheel(self, event: MouseWheelEvent) -> None: ...
    def onMove(self, event: MoveEvent) -> None: ...
    def onSize(self, event: SizeEvent) -> None: ...
    def onUpdate(self) -> None: ...
    def pinChild(self, uiobj: Panel) -> None: ...
    def release(self) -> bool: ...
    def removeChild(self, uiobj: Panel) -> None: ...
    def setFocused(self, arg0: bool) -> None: ...
    def setGlobal(self, value: bool) -> None: ...
    def setPinned(self, value: bool) -> None: ...
    def unpinChild(self, uiobj: Panel) -> None: ...
    @property
    def absPosition(self) -> Point: ...
    @property
    def absX(self) -> int: ...
    @property
    def absY(self) -> int: ...

class Pixel:
    a: int
    b: int
    g: int
    r: int
    def __init__(self, r: int = ..., g: int = ..., b: int = ..., a: int = ...) -> None: ...

class Point:
    x: int
    y: int
    def __init__(self, x: int = ..., y: int = ...) -> None: ...

class PopupMenu(ScrollView):
    class SelectMode:
        __members__: ClassVar[dict] = ...  # read-only
        Extended: ClassVar[PopupMenu.SelectMode] = ...
        Multiple: ClassVar[PopupMenu.SelectMode] = ...
        Single: ClassVar[PopupMenu.SelectMode] = ...
        __entries: ClassVar[dict] = ...
        def __init__(self, value: int) -> None: ...
        def __eq__(self, other: object) -> bool: ...
        def __hash__(self) -> int: ...
        def __index__(self) -> int: ...
        def __int__(self) -> int: ...
        def __ne__(self, other: object) -> bool: ...
        @property
        def name(self) -> str: ...
        @property
        def value(self) -> int: ...
    Extended: ClassVar[PopupMenu.SelectMode] = ...
    Multiple: ClassVar[PopupMenu.SelectMode] = ...
    Single: ClassVar[PopupMenu.SelectMode] = ...
    f_onSelectChange: Callable[[PopupMenu, set[int]], None]
    f_onTriggerMenuItem: Callable[[PopupMenu, str], None]
    roundExtension: int
    selectMode: PopupMenu.SelectMode
    def __init__(self) -> None: ...
    def appendItem(self, items) -> None: ...
    def clearAllItems(self) -> None: ...
    def getItem(self, *args, **kwargs): ...
    def insertItem(self, items, index: int = ...) -> None: ...
    def onSelectChange(self, selected: set[int]) -> None: ...
    def onTriggerMenuItem(self, arg0: str) -> None: ...
    def removeItem(self, index: int, count: int = ...) -> None: ...
    def setActivated(self, arg0: bool) -> None: ...
    def setBkgnTriggerPanel(self, arg0: bool) -> None: ...
    @property
    def itemCount(self) -> int: ...
    @property
    def selectedIndicies(self) -> set[int]: ...

class Range:
    count: int
    offset: int
    def __init__(self, offset: int = ..., count: int = ...) -> None: ...

class RawTextBox(RawTextInput):
    def __init__(self) -> None: ...

class RawTextEditor(RawTextInput):
    def __init__(self) -> None: ...

class RawTextInput(LabelArea):
    editable: bool
    f_onTextChange: Callable[[RawTextInput, str], None]
    textRect: Rect
    def __init__(self, multiline: bool) -> None: ...
    def onTextChange(self, text: str) -> None: ...
    def performCommandCtrlV(self) -> None: ...
    def performCommandCtrlX(self) -> None: ...
    @property
    def placeholder(self) -> Label: ...

class Rect:
    bottom: int
    left: int
    right: int
    top: int
    def __init__(self, left: int = ..., top: int = ..., right: int = ..., bottom: int = ...) -> None: ...

class RenderingMode:
    __members__: ClassVar[dict] = ...  # read-only
    Aliased: ClassVar[RenderingMode] = ...
    Default: ClassVar[RenderingMode] = ...
    GDIClassic: ClassVar[RenderingMode] = ...
    GDINatural: ClassVar[RenderingMode] = ...
    Natural: ClassVar[RenderingMode] = ...
    NaturalSymmetric: ClassVar[RenderingMode] = ...
    Outline: ClassVar[RenderingMode] = ...
    __entries: ClassVar[dict] = ...
    def __init__(self, value: int) -> None: ...
    def __eq__(self, other: object) -> bool: ...
    def __hash__(self) -> int: ...
    def __index__(self) -> int: ...
    def __int__(self) -> int: ...
    def __ne__(self, other: object) -> bool: ...
    @property
    def name(self) -> str: ...
    @property
    def value(self) -> int: ...

class ResizablePanel(Panel):
    class Border:
        __members__: ClassVar[dict] = ...  # read-only
        All: ClassVar[ResizablePanel.Border] = ...
        Bottom: ClassVar[ResizablePanel.Border] = ...
        Left: ClassVar[ResizablePanel.Border] = ...
        Right: ClassVar[ResizablePanel.Border] = ...
        Top: ClassVar[ResizablePanel.Border] = ...
        __entries: ClassVar[dict] = ...
        def __init__(self, value: int) -> None: ...
        def __eq__(self, other: object) -> bool: ...
        def __hash__(self) -> int: ...
        def __index__(self) -> int: ...
        def __int__(self) -> int: ...
        def __ne__(self, other: object) -> bool: ...
        @property
        def name(self) -> str: ...
        @property
        def value(self) -> int: ...
    All: ClassVar[ResizablePanel.Border] = ...
    Bottom: ClassVar[ResizablePanel.Border] = ...
    Left: ClassVar[ResizablePanel.Border] = ...
    Right: ClassVar[ResizablePanel.Border] = ...
    Top: ClassVar[ResizablePanel.Border] = ...
    dynamicSizing: bool
    f_onEndResizing: Callable[[ResizablePanel], None]
    f_onStartResizing: Callable[[ResizablePanel], None]
    resizable: bool
    def __init__(self) -> None: ...
    def getResizable(self, border: ResizablePanel.Border = ...) -> bool: ...
    def onEndResizing(self) -> None: ...
    def onStartResizing(self) -> None: ...
    def setResizable(self, value: bool, border: ResizablePanel.Border = ...) -> None: ...

class ScrollView(ResizablePanel):
    content: Panel
    f_onEndThumbScrolling: Callable[[ScrollView, Point], None]
    f_onStartThumbScrolling: Callable[[ScrollView, Point], None]
    f_onViewportOffsetChange: Callable[[ScrollView, Point], None]
    horzDeltaPixel: int
    vertDeltaPixel: int
    viewportOffset: Point
    def __init__(self) -> None: ...
    def onEndThumbScrolling(self, offset: Point) -> None: ...
    def onStartThumbScrolling(self, offset: Point) -> None: ...
    def onViewportOffsetChange(self, offset: Point) -> None: ...

class Size:
    height: int
    width: int
    def __init__(self, width: int = ..., height: int = ...) -> None: ...

class SizeEvent(Event):
    def __init__(self) -> None: ...
    @property
    def size(self) -> Size: ...

class TabCaption(Panel):
    closable: bool
    draggable: bool
    promotable: bool
    text: str
    def __init__(self, title: str = ...) -> None: ...
    @property
    def title(self) -> IconLabel: ...

class TabGroup(ResizablePanel):
    class Tab:
        caption: Incomplete
        content: Panel
        @overload
        def __init__(self) -> None: ...
        @overload
        def __init__(self, caption, content: Panel) -> None: ...
    cardSize: Size
    f_onSelectedChange: Callable[[TabGroup, str], None]
    def __init__(self) -> None: ...
    def appendTab(self, tab: TabGroup.Tab) -> None: ...
    def clearAllTabs(self) -> None: ...
    def insertTab(self, tab: TabGroup.Tab, index: int = ...) -> None: ...
    def onSelectedChange(self, title: str) -> None: ...
    def removeTab(self, index: int, count: int = ...) -> None: ...
    def setCurrSelected(self, index: int) -> None: ...
    @property
    def currSelected(self) -> TabGroup.Tab | None: ...
    @property
    def currSelectedTitle(self) -> str | None: ...
    @property
    def tabCount(self) -> int: ...

class TextAntialiasMode:
    __members__: ClassVar[dict] = ...  # read-only
    Aliased: ClassVar[TextAntialiasMode] = ...
    ClearType: ClassVar[TextAntialiasMode] = ...
    Default: ClassVar[TextAntialiasMode] = ...
    Grayscale: ClassVar[TextAntialiasMode] = ...
    __entries: ClassVar[dict] = ...
    def __init__(self, value: int) -> None: ...
    def __eq__(self, other: object) -> bool: ...
    def __hash__(self) -> int: ...
    def __index__(self) -> int: ...
    def __int__(self) -> int: ...
    def __ne__(self, other: object) -> bool: ...
    @property
    def name(self) -> str: ...
    @property
    def value(self) -> int: ...

class TextBox(TextInput):
    def __init__(self) -> None: ...

class TextEditor(TextInput):
    def __init__(self) -> None: ...

class TextInput(RawTextInput):
    def __init__(self, multiline: bool) -> None: ...

class ToggleButton(FilledButton):
    class State:
        __members__: ClassVar[dict] = ...  # read-only
        Activated: ClassVar[ToggleButton.State] = ...
        Deactivated: ClassVar[ToggleButton.State] = ...
        __entries: ClassVar[dict] = ...
        def __init__(self, value: int) -> None: ...
        def __eq__(self, other: object) -> bool: ...
        def __hash__(self) -> int: ...
        def __index__(self) -> int: ...
        def __int__(self) -> int: ...
        def __ne__(self, other: object) -> bool: ...
        @property
        def name(self) -> str: ...
        @property
        def value(self) -> int: ...
    Activated: ClassVar[ToggleButton.State] = ...
    Deactivated: ClassVar[ToggleButton.State] = ...
    f_onStateChange: Callable[[ToggleButton, ToggleButton.State], None]
    state: ToggleButton.State
    def __init__(self, text: str = ...) -> None: ...
    def onStateChange(self, state: ToggleButton.State) -> None: ...

class TreeView(ScrollView):
    class SelectMode:
        __members__: ClassVar[dict] = ...  # read-only
        Extended: ClassVar[TreeView.SelectMode] = ...
        Multiple: ClassVar[TreeView.SelectMode] = ...
        Single: ClassVar[TreeView.SelectMode] = ...
        __entries: ClassVar[dict] = ...
        def __init__(self, value: int) -> None: ...
        def __eq__(self, other: object) -> bool: ...
        def __hash__(self) -> int: ...
        def __index__(self) -> int: ...
        def __int__(self) -> int: ...
        def __ne__(self, other: object) -> bool: ...
        @property
        def name(self) -> str: ...
        @property
        def value(self) -> int: ...
    Extended: ClassVar[TreeView.SelectMode] = ...
    Multiple: ClassVar[TreeView.SelectMode] = ...
    Single: ClassVar[TreeView.SelectMode] = ...
    f_onSelectChange: Callable[[TreeView, set[int]], None]
    selectMode: TreeView.SelectMode
    def __init__(self) -> None: ...
    def appendRootItem(self, rootItems) -> None: ...
    def clearAllItems(self) -> None: ...
    def getItem(self, *args, **kwargs): ...
    def getRootItem(self, *args, **kwargs): ...
    def insertRootItem(self, rootItems, rootIndex: int = ...) -> None: ...
    def onSelectChange(self, selected: set[int]) -> None: ...
    def removeRootItem(self, rootIndex: int, count: int = ...) -> None: ...
    @property
    def itemCount(self) -> int: ...
    @property
    def rootItemCount(self) -> int: ...
    @property
    def selectedIndicies(self) -> set[int]: ...

class TreeViewItem(ViewItem):
    f_onStateChange: Incomplete
    state: Incomplete
    def __init__(self, text: str = ...) -> None: ...
    def appendItem(self, items: list[TreeViewItem]) -> None: ...
    def clearAllItems(self) -> None: ...
    def insertItem(self, items: list[TreeViewItem], index: int = ...) -> None: ...
    def onStateChange(self, state) -> None: ...
    def removeItem(self, index: int, count: int = ...) -> None: ...
    @property
    def itemCount(self) -> int: ...
    @property
    def nodeLevel(self) -> int: ...

class VertSlider(Panel):
    class StepMode:
        __members__: ClassVar[dict] = ...  # read-only
        Continuous: ClassVar[VertSlider.StepMode] = ...
        Discrete: ClassVar[VertSlider.StepMode] = ...
        __entries: ClassVar[dict] = ...
        def __init__(self, value: int) -> None: ...
        def __eq__(self, other: object) -> bool: ...
        def __hash__(self) -> int: ...
        def __index__(self) -> int: ...
        def __int__(self) -> int: ...
        def __ne__(self, other: object) -> bool: ...
        @property
        def name(self) -> str: ...
        @property
        def value(self) -> int: ...
    Continuous: ClassVar[VertSlider.StepMode] = ...
    Discrete: ClassVar[VertSlider.StepMode] = ...
    f_onEndSliding: Callable[[VertSlider, float], None]
    f_onStartSliding: Callable[[VertSlider, float], None]
    f_onValueChange: Callable[[VertSlider, float], None]
    maxValue: float
    minValue: float
    stepInterval: float
    stepMode: VertSlider.StepMode
    value: float
    vlabelEnabled: bool
    vlabelOffset: int
    vlabelPrecision: int
    vlabelRectSize: Size
    vlabelResident: bool
    vlabelRoundRaidus: int
    vlabelTipSize: Size
    def __init__(self) -> None: ...
    def onEndSliding(self, value: float) -> None: ...
    def onStartSliding(self, value: float) -> None: ...
    def onValueChange(self, value: float) -> None: ...
    @property
    def valueLabel(self) -> Label: ...

class ViewItem(Panel):
    text: str
    def __init__(self, text: str = ...) -> None: ...
    @property
    def content(self) -> IconLabel: ...

class Window(DraggablePanel, ResizablePanel):
    captionHeight: int
    closeButton: bool
    content: Panel
    decoBarHeight: int
    f_onClose: Callable[[Window], None]
    f_onMaximize: Callable[[Window], None]
    f_onMinimize: Callable[[Window], None]
    f_onRestore: Callable[[Window], None]
    maximizeButton: bool
    minimizeButton: bool
    title: str
    def __init__(self, title: str = ...) -> None: ...
    def onClose(self) -> None: ...
    def onMaximize(self) -> None: ...
    def onMinimize(self) -> None: ...
    def onRestore(self) -> None: ...
    @property
    def caption(self) -> IconLabel: ...
    @property
    def contentHeight(self) -> int: ...
    @property
    def maximized(self) -> bool: ...
    @property
    def minimized(self) -> bool: ...
    @property
    def nonContentHeight(self) -> int: ...
    @property
    def normal(self) -> bool: ...
